1. Field of Invention
The present invention relates generally to devices for preventing unauthorized use of software programs, and in particular, a compact, transparent dongle device especially suitable for use with laptop or notebook computers.
2. Description of Related Art
In the last decade, the use of personal computers in both the home and office have become widespread. These computers provide a high level of functionality to many people at a moderate price, substantially surpassing the performance of large mainframe computers of only a few decades ago. This trend is further evidenced by the increasing popularity of laptop and notebook computers, which provide mobile high performance computing power on a mobile basis.
The growing use of computers has resulted in extensive unauthorized use and copying of computer software, costing software developers substantial revenue. Although unauthorized copying of computer software is a violation of the law, the widespread availability of pirated software and enforcement difficulties have limited the effectiveness of this means of preventing software piracy.
Software developers and computer designers alike have sought technical solutions to attack the problem of software piracy. One solution uses an external device called a hardware key, or "dongle," coupled to an input/output (I/O) port of the host computer. One such device is disclosed in U.S. Pat. No. 4,599,489, issued to Cargile on Jul. 8, 1986. The Cargile device executes a prescribed algorithm to produce a code which the computer receives and affords access to the software code if the code is correct. Another such device is disclosed in U.S. Pat. No. 4,446,519, issued to Thomas on May 1, 1984.
While the use of hardware keys is an effective way to reduce software piracy, currently available hardware keys are ill-suited to today's laptop and notebook computers. First, current designs too bulky or improperly shaped to be attached directly to the computer I/O port. This necessitates the use of a separate I/O cable to be attached to the computer. These separate cables require that the hardware key be removed from the computer before storing it in its case, and increase the probability that the hardware key or the interconnecting cable will be damaged. Separate I/O cables also increase the probability that I/O messages relating to the security software routines implemented in the hardware key will be intercepted and perhaps bypassed by an unauthorized software user.
Another problem with current hardware keys is that they occupy a computer I/O port, and prevent that port from being used for computer peripherals, such as printers, scanners, and other I/O devices. This is especially problematic for laptop and notebook computers, because they typically have a fewer I/O ports than desktop computers. Still another problem with current hardware keys is that they are costly to produce, effectively limiting their application to protect high value software.